package com.ck.ck_back.config;

import com.ck.ck_back.utils.likecommentTask;
import com.ck.ck_back.utils.likeproductionTask;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class quartzconfig {
//    两个任务都是每两个小时执行一次

//    评论对应的定时任务
    @Bean
    public JobDetail commentTaskDetail() {
        return JobBuilder.newJob(likecommentTask.class).withIdentity("com").storeDurably().build();
    }
    //    评论对应的定时任务触发器
    @Bean
    public Trigger commentTaskTrigger() {
        // 创建任务


        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ? *");
//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/20 * * * * ? *");
        // 返回任务触发器
        return TriggerBuilder.newTrigger().forJob(commentTaskDetail())
                .withIdentity("comment")
                .withSchedule(scheduleBuilder)
                .build();
    }

//    作品对应的定时任务
    @Bean
    public JobDetail productionTaskDetail() {
        return JobBuilder.newJob(likeproductionTask.class).withIdentity("pro").storeDurably().build();
    }
    //    作品对应的定时任务触发器
    @Bean
    public Trigger productionTaskTrigger() {
        // 创建任务
        // 设定执行方式（间隔5秒执行一次）
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ? * ");
        // 返回任务触发器
        return TriggerBuilder.newTrigger().forJob(productionTaskDetail())
                .withIdentity("production")
                .withSchedule(scheduleBuilder)
                .build();
    }

}
